<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::PyramidFeatureHistogram&lt; PointFeature &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_pyramid_feature_histogram.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_pyramid_feature_histogram-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::PyramidFeatureHistogram&lt; PointFeature &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Class that compares two sets of features by using a multiscale representation of the features inside a pyramid. Each level of the pyramid offers information about the similarity of the two feature sets.  
 <a href="classpcl_1_1_pyramid_feature_histogram.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="pyramid__feature__matching_8h_source.html">pyramid_feature_matching.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::PyramidFeatureHistogram&lt; PointFeature &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_pyramid_feature_histogram.png" usemap="#pcl::PyramidFeatureHistogram_3C_20PointFeature_20_3E_map" alt=""/>
  <map id="pcl::PyramidFeatureHistogram_3C_20PointFeature_20_3E_map" name="pcl::PyramidFeatureHistogram_3C_20PointFeature_20_3E_map">
<area href="classpcl_1_1_p_c_l_base.html" alt="pcl::PCLBase&lt; PointFeature &gt;" shape="rect" coords="0,0,277,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcl_1_1_pyramid_feature_histogram_1_1_pyramid_feature_histogram_level.html">PyramidFeatureHistogramLevel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for representing a single pyramid histogram level  <a href="structpcl_1_1_pyramid_feature_histogram_1_1_pyramid_feature_histogram_level.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a74e63737f396e1eabe3de6a2cd28d63f"><td class="memItemLeft" align="right" valign="top"><a id="a74e63737f396e1eabe3de6a2cd28d63f"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">PyramidFeatureHistogram</a>&lt; PointFeature &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a74e63737f396e1eabe3de6a2cd28d63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f0750eeb357b2bba1779d7e2e39a4b0"><td class="memItemLeft" align="right" valign="top"><a id="a1f0750eeb357b2bba1779d7e2e39a4b0"></a>
typedef Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PyramidFeatureHistogramPtr</b></td></tr>
<tr class="separator:a1f0750eeb357b2bba1779d7e2e39a4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a1a3d6cbd5cc2ec0bfc344f1f175a7"><td class="memItemLeft" align="right" valign="top"><a id="af5a1a3d6cbd5cc2ec0bfc344f1f175a7"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_point_representation.html">pcl::PointRepresentation</a>&lt; PointFeature &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>FeatureRepresentationConstPtr</b></td></tr>
<tr class="separator:af5a1a3d6cbd5cc2ec0bfc344f1f175a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointFeature &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointFeature &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a74d4d7059f875f73e0c723be6acd93a6"><td class="memItemLeft" align="right" valign="top"><a id="a74d4d7059f875f73e0c723be6acd93a6"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a74d4d7059f875f73e0c723be6acd93a6">PyramidFeatureHistogram</a> ()</td></tr>
<tr class="memdesc:a74d4d7059f875f73e0c723be6acd93a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor that instantiates the feature representation variable <br /></td></tr>
<tr class="separator:a74d4d7059f875f73e0c723be6acd93a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a175e74203bce5c709afd123e7b278d34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a175e74203bce5c709afd123e7b278d34">setInputDimensionRange</a> (std::vector&lt; std::pair&lt; float, float &gt; &gt; &amp;dimension_range_input)</td></tr>
<tr class="memdesc:a175e74203bce5c709afd123e7b278d34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for setting the input dimension range parameter.  <a href="classpcl_1_1_pyramid_feature_histogram.html#a175e74203bce5c709afd123e7b278d34">更多...</a><br /></td></tr>
<tr class="separator:a175e74203bce5c709afd123e7b278d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af059834d6adf62910024e61d32ea3e5b"><td class="memItemLeft" align="right" valign="top"><a id="af059834d6adf62910024e61d32ea3e5b"></a>
std::vector&lt; std::pair&lt; float, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#af059834d6adf62910024e61d32ea3e5b">getInputDimensionRange</a> ()</td></tr>
<tr class="memdesc:af059834d6adf62910024e61d32ea3e5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for retrieving the input dimension range vector <br /></td></tr>
<tr class="separator:af059834d6adf62910024e61d32ea3e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b59cadbce7fbdaec4439befa6400c7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a3b59cadbce7fbdaec4439befa6400c7f">setTargetDimensionRange</a> (std::vector&lt; std::pair&lt; float, float &gt; &gt; &amp;dimension_range_target)</td></tr>
<tr class="memdesc:a3b59cadbce7fbdaec4439befa6400c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to set the target dimension range parameter.  <a href="classpcl_1_1_pyramid_feature_histogram.html#a3b59cadbce7fbdaec4439befa6400c7f">更多...</a><br /></td></tr>
<tr class="separator:a3b59cadbce7fbdaec4439befa6400c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5101f412718890a4541633503e1c059"><td class="memItemLeft" align="right" valign="top"><a id="aa5101f412718890a4541633503e1c059"></a>
std::vector&lt; std::pair&lt; float, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#aa5101f412718890a4541633503e1c059">getTargetDimensionRange</a> ()</td></tr>
<tr class="memdesc:aa5101f412718890a4541633503e1c059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for retrieving the target dimension range vector <br /></td></tr>
<tr class="separator:aa5101f412718890a4541633503e1c059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768f52c6ab03239a26c5d77bf85d3c40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a768f52c6ab03239a26c5d77bf85d3c40">setPointRepresentation</a> (const FeatureRepresentationConstPtr &amp;feature_representation)</td></tr>
<tr class="memdesc:a768f52c6ab03239a26c5d77bf85d3c40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the feature representation to use to convert features to k-D vectors.  <a href="classpcl_1_1_pyramid_feature_histogram.html#a768f52c6ab03239a26c5d77bf85d3c40">更多...</a><br /></td></tr>
<tr class="separator:a768f52c6ab03239a26c5d77bf85d3c40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34fd8b1f65da98d8fb6981429d6a28d4"><td class="memItemLeft" align="right" valign="top"><a id="a34fd8b1f65da98d8fb6981429d6a28d4"></a>
FeatureRepresentationConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a34fd8b1f65da98d8fb6981429d6a28d4">getPointRepresentation</a> ()</td></tr>
<tr class="memdesc:a34fd8b1f65da98d8fb6981429d6a28d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the feature representation used when converting features into k-D vectors. <br /></td></tr>
<tr class="separator:a34fd8b1f65da98d8fb6981429d6a28d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3514e2136746a3ff2d1123fa5a5a2836"><td class="memItemLeft" align="right" valign="top"><a id="a3514e2136746a3ff2d1123fa5a5a2836"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a3514e2136746a3ff2d1123fa5a5a2836">compute</a> ()</td></tr>
<tr class="memdesc:a3514e2136746a3ff2d1123fa5a5a2836"><td class="mdescLeft">&#160;</td><td class="mdescRight">The central method for inserting the feature set inside the pyramid and obtaining the complete pyramid <br /></td></tr>
<tr class="separator:a3514e2136746a3ff2d1123fa5a5a2836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60c539b8fbd9c3f5a60b6d57c4ae7211"><td class="memItemLeft" align="right" valign="top"><a id="a60c539b8fbd9c3f5a60b6d57c4ae7211"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a60c539b8fbd9c3f5a60b6d57c4ae7211">isComputed</a> ()</td></tr>
<tr class="memdesc:a60c539b8fbd9c3f5a60b6d57c4ae7211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the pyramid histogram has been computed <br /></td></tr>
<tr class="separator:a60c539b8fbd9c3f5a60b6d57c4ae7211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointFeature &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (const PointCloudConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset  <a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">更多...</a><br /></td></tr>
<tr class="separator:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const PointFeature &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override PointCloud operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:a480e20870ce4703f41e8b8330e98d9ec"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a480e20870ce4703f41e8b8330e98d9ec">comparePyramidFeatureHistograms</a> (const PyramidFeatureHistogramPtr &amp;pyramid_a, const PyramidFeatureHistogramPtr &amp;pyramid_b)</td></tr>
<tr class="memdesc:a480e20870ce4703f41e8b8330e98d9ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static method for comparing two pyramid histograms that returns a floating point value between 0 and 1, representing the similiarity between the feature sets on which the two pyramid histograms are based.  <a href="classpcl_1_1_pyramid_feature_histogram.html#a480e20870ce4703f41e8b8330e98d9ec">更多...</a><br /></td></tr>
<tr class="separator:a480e20870ce4703f41e8b8330e98d9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a3ee7c8c11ca6f63cb012c84c608ceb8b"><td class="memItemLeft" align="right" valign="top"><a id="a3ee7c8c11ca6f63cb012c84c608ceb8b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a3ee7c8c11ca6f63cb012c84c608ceb8b">initializeHistogram</a> ()</td></tr>
<tr class="memdesc:a3ee7c8c11ca6f63cb012c84c608ceb8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for input inconsistencies and initializes the underlying data structures <br /></td></tr>
<tr class="separator:a3ee7c8c11ca6f63cb012c84c608ceb8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f3b1fd4b8a4bcfb74148916731d93ca"><td class="memItemLeft" align="right" valign="top"><a id="a4f3b1fd4b8a4bcfb74148916731d93ca"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a4f3b1fd4b8a4bcfb74148916731d93ca">convertFeatureToVector</a> (const PointFeature &amp;feature, std::vector&lt; float &gt; &amp;feature_vector)</td></tr>
<tr class="memdesc:a4f3b1fd4b8a4bcfb74148916731d93ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a feature in templated form to an STL vector. This is the point where the conversion from the input dimension range to the target dimension range is done. <br /></td></tr>
<tr class="separator:a4f3b1fd4b8a4bcfb74148916731d93ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ac19162a68b147fff56097cb256b3f"><td class="memItemLeft" align="right" valign="top"><a id="ad1ac19162a68b147fff56097cb256b3f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#ad1ac19162a68b147fff56097cb256b3f">addFeature</a> (std::vector&lt; float &gt; &amp;feature)</td></tr>
<tr class="memdesc:ad1ac19162a68b147fff56097cb256b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a feature vector to its corresponding bin at each level in the pyramid <br /></td></tr>
<tr class="separator:ad1ac19162a68b147fff56097cb256b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca9e1756dddf35b44e6ff0cb9ad7ab5"><td class="memItemLeft" align="right" valign="top">unsigned int &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#aaca9e1756dddf35b44e6ff0cb9ad7ab5">at</a> (std::vector&lt; size_t &gt; &amp;access, size_t &amp;level)</td></tr>
<tr class="memdesc:aaca9e1756dddf35b44e6ff0cb9ad7ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the pyramid bin given the position of the bin at the given pyramid level and the pyramid level  <a href="classpcl_1_1_pyramid_feature_histogram.html#aaca9e1756dddf35b44e6ff0cb9ad7ab5">更多...</a><br /></td></tr>
<tr class="separator:aaca9e1756dddf35b44e6ff0cb9ad7ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b0d6622251b5105597740e01587701"><td class="memItemLeft" align="right" valign="top">unsigned int &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html#a68b0d6622251b5105597740e01587701">at</a> (std::vector&lt; float &gt; &amp;feature, size_t &amp;level)</td></tr>
<tr class="memdesc:a68b0d6622251b5105597740e01587701"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the pyramid bin given a feature vector and the pyramid level  <a href="classpcl_1_1_pyramid_feature_histogram.html#a68b0d6622251b5105597740e01587701">更多...</a><br /></td></tr>
<tr class="separator:a68b0d6622251b5105597740e01587701"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a03f9b66ea5bb06c150bd880c3a2777ce"><td class="memItemLeft" align="right" valign="top"><a id="a03f9b66ea5bb06c150bd880c3a2777ce"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>nr_dimensions</b></td></tr>
<tr class="separator:a03f9b66ea5bb06c150bd880c3a2777ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ce0aaf4b4e70a401a6ac19f72b029b6"><td class="memItemLeft" align="right" valign="top"><a id="a2ce0aaf4b4e70a401a6ac19f72b029b6"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>nr_levels</b></td></tr>
<tr class="separator:a2ce0aaf4b4e70a401a6ac19f72b029b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d95aded54d19f8ab27505ef1ae96340"><td class="memItemLeft" align="right" valign="top"><a id="a6d95aded54d19f8ab27505ef1ae96340"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>nr_features</b></td></tr>
<tr class="separator:a6d95aded54d19f8ab27505ef1ae96340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada9c3a65957547ef232e610808304b8f"><td class="memItemLeft" align="right" valign="top"><a id="ada9c3a65957547ef232e610808304b8f"></a>
std::vector&lt; std::pair&lt; float, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dimension_range_input_</b></td></tr>
<tr class="separator:ada9c3a65957547ef232e610808304b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51fdc70e0ba243fbbd470c6430fe2fbf"><td class="memItemLeft" align="right" valign="top"><a id="a51fdc70e0ba243fbbd470c6430fe2fbf"></a>
std::vector&lt; std::pair&lt; float, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dimension_range_target_</b></td></tr>
<tr class="separator:a51fdc70e0ba243fbbd470c6430fe2fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a263226a12af24f03640339dbdbd0fb74"><td class="memItemLeft" align="right" valign="top"><a id="a263226a12af24f03640339dbdbd0fb74"></a>
FeatureRepresentationConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>feature_representation_</b></td></tr>
<tr class="separator:a263226a12af24f03640339dbdbd0fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae99f1fdce08ba531e87f0003696362aa"><td class="memItemLeft" align="right" valign="top"><a id="ae99f1fdce08ba531e87f0003696362aa"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_computed_</b></td></tr>
<tr class="separator:ae99f1fdce08ba531e87f0003696362aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0cf540c7fcbd1ab795e9bd0e84c1f45"><td class="memItemLeft" align="right" valign="top"><a id="ab0cf540c7fcbd1ab795e9bd0e84c1f45"></a>
std::vector&lt; <a class="el" href="structpcl_1_1_pyramid_feature_histogram_1_1_pyramid_feature_histogram_level.html">PyramidFeatureHistogramLevel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>hist_levels</b></td></tr>
<tr class="separator:ab0cf540c7fcbd1ab795e9bd0e84c1f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointFeature &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointFeature &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointFeature&gt;<br />
class pcl::PyramidFeatureHistogram&lt; PointFeature &gt;</h3>

<p>Class that compares two sets of features by using a multiscale representation of the features inside a pyramid. Each level of the pyramid offers information about the similarity of the two feature sets. </p>
<dl class="section note"><dt>注解</dt><dd>Works with any Point/Feature type which has a <a class="el" href="classpcl_1_1_point_representation.html" title="PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensi...">PointRepresentation</a> implementation </dd>
<dd>
The only parameters it needs are the input dimension ranges and the output dimension ranges. The input dimension ranges represent the ranges in which each dimension of the feature vector lies. As described in the paper, a minimum inter-vector distance of sqrt(nr_dims)/2 is needed. As such, the target dimension range parameter is used in order to augment/reduce the range for each dimension in order to obtain the necessary minimal inter-vector distance and to add/subtract weight to/from certain dimensions of the feature vector.</dd></dl>
<p>Follows the algorithm presented in the publication: Grauman, K. &amp; Darrell, T. The Pyramid Match Kernel: Discriminative Classification with Sets of Image Features Tenth IEEE International Conference on Computer Vision ICCV05 Volume 1 October 2005</p>
<dl class="section author"><dt>作者</dt><dd>Alexandru-Eugen Ichim </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a68b0d6622251b5105597740e01587701"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68b0d6622251b5105597740e01587701">&#9670;&nbsp;</a></span>at() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int &amp; <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::at </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>feature</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Access the pyramid bin given a feature vector and the pyramid level </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">feature</td><td>the feature in vectorized form </td></tr>
    <tr><td class="paramname">level</td><td>the level in the pyramid </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;{</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordflow">if</span> (feature.size () != nr_dimensions)</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureHistogram::at] The given feature vector does not match the feature dimensions of the pyramid histogram: %u vs %u\n&quot;</span>, feature.size (), nr_dimensions);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordflow">return</span> hist_levels.front ().hist.front ();</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  }</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="keywordflow">if</span> (level &gt;= hist_levels.size ())</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  {</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureHistogram::at] Trying to access a too large level\n&quot;</span>);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">return</span> hist_levels.front ().hist.front ();</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  }</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  std::vector&lt;size_t&gt; access;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> dim_i = 0; dim_i &lt; nr_dimensions; ++dim_i)</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    access.push_back (<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span> (floor ((feature[dim_i] - dimension_range_target_[dim_i].first) / hist_levels[level].bin_step[dim_i])));</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classpcl_1_1_pyramid_feature_histogram.html#aaca9e1756dddf35b44e6ff0cb9ad7ab5">at</a> (access, level);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_pyramid_feature_histogram_html_aaca9e1756dddf35b44e6ff0cb9ad7ab5"><div class="ttname"><a href="classpcl_1_1_pyramid_feature_histogram.html#aaca9e1756dddf35b44e6ff0cb9ad7ab5">pcl::PyramidFeatureHistogram::at</a></div><div class="ttdeci">unsigned int &amp; at(std::vector&lt; size_t &gt; &amp;access, size_t &amp;level)</div><div class="ttdoc">Access the pyramid bin given the position of the bin at the given pyramid level and the pyramid level</div><div class="ttdef"><b>Definition:</b> pyramid_feature_matching.hpp:220</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aaca9e1756dddf35b44e6ff0cb9ad7ab5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaca9e1756dddf35b44e6ff0cb9ad7ab5">&#9670;&nbsp;</a></span>at() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int &amp; <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::at </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; size_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>access</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Access the pyramid bin given the position of the bin at the given pyramid level and the pyramid level </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">access</td><td>index of the bin at the respective level </td></tr>
    <tr><td class="paramname">level</td><td>the level in the pyramid </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordflow">if</span> (access.size () != nr_dimensions)</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  {</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureHistogram::at] Cannot access histogram position because the access point does not have the right number of dimensions\n&quot;</span>);</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> hist_levels.front ().hist.front ();</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keywordflow">if</span> (level &gt;= hist_levels.size ())</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  {</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureHistogram::at] Trying to access a too large level\n&quot;</span>);</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> hist_levels.front ().hist.front ();</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  }</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="keywordtype">size_t</span> vector_position = 0;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordtype">size_t</span> dim_accumulator = 1;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (access.size ()) - 1; i &gt;= 0; --i)</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  {</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    vector_position += access[i] * dim_accumulator;</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    dim_accumulator *= hist_levels[level].bins_per_dimension[i];</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  }</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="keywordflow">return</span> hist_levels[level].hist[vector_position];</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a480e20870ce4703f41e8b8330e98d9ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a480e20870ce4703f41e8b8330e98d9ec">&#9670;&nbsp;</a></span>comparePyramidFeatureHistograms()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::comparePyramidFeatureHistograms </td>
          <td>(</td>
          <td class="paramtype">const PyramidFeatureHistogramPtr &amp;&#160;</td>
          <td class="paramname"><em>pyramid_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const PyramidFeatureHistogramPtr &amp;&#160;</td>
          <td class="paramname"><em>pyramid_b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static method for comparing two pyramid histograms that returns a floating point value between 0 and 1, representing the similiarity between the feature sets on which the two pyramid histograms are based. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">pyramid_a</td><td>Pointer to the first pyramid to be compared (needs to be computed already). </td></tr>
    <tr><td class="paramname">pyramid_b</td><td>Pointer to the second pyramid to be compared (needs to be computed already). </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;{</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="comment">// do a few consistency checks before and during the computation</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keywordflow">if</span> (pyramid_a-&gt;nr_dimensions != pyramid_b-&gt;nr_dimensions)</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  {</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureMatching::comparePyramidFeatureHistograms] The two given pyramids have different numbers of dimensions: %u vs %u\n&quot;</span>, pyramid_a-&gt;nr_dimensions, pyramid_b-&gt;nr_dimensions);</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  }</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keywordflow">if</span> (pyramid_a-&gt;nr_levels != pyramid_b-&gt;nr_levels)</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  {</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureMatching::comparePyramidFeatureHistograms] The two given pyramids have different numbers of levels: %u vs %u\n&quot;</span>, pyramid_a-&gt;nr_levels, pyramid_b-&gt;nr_levels);</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  }</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="comment">// calculate for level 0 first</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keywordflow">if</span> (pyramid_a-&gt;hist_levels[0].hist.size () != pyramid_b-&gt;hist_levels[0].hist.size ())</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  {</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureMatching::comparePyramidFeatureHistograms] The two given pyramids have different numbers of bins on level 0: %u vs %u\n&quot;</span>, pyramid_a-&gt;hist_levels[0].hist.size (), pyramid_b-&gt;hist_levels[0].hist.size ());</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  }</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordtype">float</span> match_count_level = 0.0f, match_count_prev_level = 0.0f;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> bin_i = 0; bin_i &lt; pyramid_a-&gt;hist_levels[0].hist.size (); ++bin_i)</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">if</span> (pyramid_a-&gt;hist_levels[0].hist[bin_i] &lt; pyramid_b-&gt;hist_levels[0].hist[bin_i])</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      match_count_level += <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_a-&gt;hist_levels[0].hist[bin_i]);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      match_count_level += <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_b-&gt;hist_levels[0].hist[bin_i]);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  }</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordtype">float</span> match_count = match_count_level;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> level_i = 1; level_i &lt; pyramid_a-&gt;nr_levels; ++level_i)</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  {</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span> (pyramid_a-&gt;hist_levels[level_i].hist.size () != pyramid_b-&gt;hist_levels[level_i].hist.size ())</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      PCL_ERROR (<span class="stringliteral">&quot;[pcl::PyramidFeatureMatching::comparePyramidFeatureHistograms] The two given pyramids have different numbers of bins on level %u: %u vs %u\n&quot;</span>, level_i, pyramid_a-&gt;hist_levels[level_i].hist.size (), pyramid_b-&gt;hist_levels[level_i].hist.size ());</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    }</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    match_count_prev_level = match_count_level;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    match_count_level = 0.0f;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> bin_i = 0; bin_i &lt; pyramid_a-&gt;hist_levels[level_i].hist.size (); ++bin_i)</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    {</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">if</span> (pyramid_a-&gt;hist_levels[level_i].hist[bin_i] &lt; pyramid_b-&gt;hist_levels[level_i].hist[bin_i])</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        match_count_level += <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_a-&gt;hist_levels[level_i].hist[bin_i]);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        match_count_level += <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_b-&gt;hist_levels[level_i].hist[bin_i]);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    }</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">float</span> level_normalization_factor = powf (2.0f, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (level_i));</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    match_count += (match_count_level - match_count_prev_level) / level_normalization_factor;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  }</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="comment">// include self-similarity factors</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keywordtype">float</span> self_similarity_a = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_a-&gt;nr_features),</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        self_similarity_b = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (pyramid_b-&gt;nr_features);</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  PCL_DEBUG (<span class="stringliteral">&quot;[pcl::PyramidFeatureMatching::comparePyramidFeatureHistograms] Self similarity measures: %f, %f\n&quot;</span>, self_similarity_a, self_similarity_b);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  match_count /= std::sqrt (self_similarity_a * self_similarity_b);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keywordflow">return</span> match_count;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a175e74203bce5c709afd123e7b278d34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a175e74203bce5c709afd123e7b278d34">&#9670;&nbsp;</a></span>setInputDimensionRange()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::setInputDimensionRange </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::pair&lt; float, float &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>dimension_range_input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for setting the input dimension range parameter. </p>
<dl class="section note"><dt>注解</dt><dd>Please check the PyramidHistogram class description for more details about this parameter. </dd></dl>
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      { dimension_range_input_ = dimension_range_input; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a768f52c6ab03239a26c5d77bf85d3c40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a768f52c6ab03239a26c5d77bf85d3c40">&#9670;&nbsp;</a></span>setPointRepresentation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::setPointRepresentation </td>
          <td>(</td>
          <td class="paramtype">const FeatureRepresentationConstPtr &amp;&#160;</td>
          <td class="paramname"><em>feature_representation</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provide a pointer to the feature representation to use to convert features to k-D vectors. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">feature_representation</td><td>the const boost shared pointer to a <a class="el" href="classpcl_1_1_point_representation.html" title="PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensi...">PointRepresentation</a> </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;{ feature_representation_ = feature_representation; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3b59cadbce7fbdaec4439befa6400c7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b59cadbce7fbdaec4439befa6400c7f">&#9670;&nbsp;</a></span>setTargetDimensionRange()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointFeature &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">pcl::PyramidFeatureHistogram</a>&lt; PointFeature &gt;::setTargetDimensionRange </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::pair&lt; float, float &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>dimension_range_target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to set the target dimension range parameter. </p>
<dl class="section note"><dt>注解</dt><dd>Please check the PyramidHistogram class description for more details about this parameter. </dd></dl>
<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      { dimension_range_target_ = dimension_range_target; }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>registration/include/pcl/registration/<a class="el" href="pyramid__feature__matching_8h_source.html">pyramid_feature_matching.h</a></li>
<li>registration/include/pcl/registration/impl/<a class="el" href="pyramid__feature__matching_8hpp_source.html">pyramid_feature_matching.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_pyramid_feature_histogram.html">PyramidFeatureHistogram</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
